(function() {
  var parent = window.parent
  // dialog对象
  dialog = parent.$EDITORUI[window.frameElement.id.replace(/_iframe$/, '')]
  // 当前打开dialog的编辑器实例
  editor = dialog.editor

  UE = parent.UE

  domUtils = UE.dom.domUtils

  utils = UE.utils

  browser = UE.browser

  ajax = UE.ajax

  $G = function(id) {
    return document.getElementById(id)
  }
  // focus元素
  $focus = function(node) {
    setTimeout(function() {
      if (browser.ie) {
        var r = node.createTextRange()
        r.collapse(false)
        r.select()
      } else {
        node.focus()
      }
    }, 0)
  }
  utils.loadFile(document, {
    href: editor.options.themePath + editor.options.theme + '/dialogbase.css?cache=' + Math.random(),
    tag: 'link',
    type: 'text/css',
    rel: 'stylesheet'
  })
  lang = editor.getLang(dialog.className.split('-')[2])
  if (lang) {
    domUtils.on(window, 'load', function() {
      var langImgPath = editor.options.langPath + editor.options.lang + '/images/'
      // 针对静态资源
      for (var i in lang['static']) {
        var dom = $G(i)
        if (!dom) continue
        var tagName = dom.tagName,
          content = lang['static'][i]
        if (content.src) {
          // clone
          content = utils.extend({}, content, false)
          content.src = langImgPath + content.src
        }
        if (content.style) {
          content = utils.extend({}, content, false)
          content.style = content.style.replace(/url\s*\(/g, 'url(' + langImgPath)
        }
        switch (tagName.toLowerCase()) {
          case 'var':
            dom.parentNode.replaceChild(document.createTextNode(content), dom)
            break
          case 'select':
            var ops = dom.options
            for (var j = 0, oj; oj = ops[j];) {
              oj.innerHTML = content.options[j++]
            }
            for (var p in content) {
              p != 'options' && dom.setAttribute(p, content[p])
            }
            break
          default :
            domUtils.setAttributes(dom, content)
        }
      }
    })
  }
})()

